package com.aiti.lulian.service;

import com.aiti.base.core.base.service.BaseService;
import com.aiti.base.core.utils.message.Message;
import com.aiti.lulian.dto.CardEnterpriseCircleDetailDto;
import com.aiti.lulian.dto.CardEnterpriseCircleDto;
import com.aiti.lulian.dto.CardEnterpriseCircleUserCardDto;
import com.aiti.lulian.dto.CardEnterpriseJoinCircleDto;
import com.aiti.lulian.entity.CardEnterpriseCircle;
import com.aiti.lulian.entity.CardEnterpriseCircleUserCard;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 名片名企圈表 服务类
 * </p>
 *
 * @author 
 * @since 2025-08-20
 */
public interface CardEnterpriseCircleService extends BaseService<CardEnterpriseCircle> {

    Message saveCircle(CardEnterpriseCircleDto dto);

    Message circleList(Page page, CardEnterpriseCircleDto dto);

    Message activeCircleList(Page page, CardEnterpriseCircleDto dto);

    Message detail(CardEnterpriseCircleDetailDto dto);

    Message editCircleIntroduction(CardEnterpriseCircleDto dto);

    Message circleLabels(String circleId, Integer type);

    Message saveLabel(CardEnterpriseCircleDto dto);

    Message getCircleBaseInfo(String circleId);

    List<Map<String, Object>> getMemberList(CardEnterpriseCircleUserCardDto dto, Page<CardEnterpriseCircleUserCard> page);

    Message setManager(CardEnterpriseCircleUserCardDto dto);

    Message updateAnnouncement(CardEnterpriseCircleDto dto);

    Message joinCircle(CardEnterpriseJoinCircleDto dto);

    Boolean isCircleMember(String cardId, String circleId);
}
